Verification of Selection and Heap Sort Using Locales
نویسنده
چکیده
Stepwise program refinement techniques can be used to simplify program verification. Programs are better understood since their main properties are clearly stated, and verification of rather complex algorithms is reduced to proving simple statements connecting successive program specifications. Additionally, it is easy to analyze similar algorithms and to compare their properties within a single formalization. Usually, formal analysis is not done in educational setting due to complexity of verification and a lack of tools and procedures to make comparison easy. Verification of an algorithm should not only give correctness proof, but also better understanding of an algorithm. If the verification is based on small step program refinement, it can become simple enough to be demonstrated within the university-level computer science curriculum. In this paper we demonstrate this and give a formal analysis of two well known algorithms (Selection Sort and Heap Sort) using proof assistant Isabelle/HOL and program refinement techniques.
منابع مشابه
Using Small-Step Refinement For Algorithm Verification In Computer Science Education
Stepwise program refinement techniques can be used to simplify program verification. Programs are better understood since their main properties are clearly stated, and verification of rather complex algorithms is reduced to proving simple statements connecting successive program specifications. Additionally, it is easy to analyze similar algorithms and to compare their properties within a singl...
متن کاملDualheap Sort Algorithm: An Inherently Parallel Generalization of Heapsort
A generalization of the heapsort algorithm is proposed. At the expense of about 50% more comparison and move operations for typical cases, the dualheap sort algorithm offers several advantages over heapsort: improved cache performance, better performance if the input happens to be already sorted, and easier parallel implementations. 1. ALGORITHM OVERVIEW A heap is an array with elements regarde...
متن کاملEffects of Pregnant Leach Solution Temperature on the Permeability of Gravelly Drainage Layer of Heap Leaching Structures
In copper heap leaching structures, the ore is leached by an acidic solution. After dissolving the ore mineral, the heap is drained off in the acidic solution using a drainage system (consisting of a network of perforated polyethylene pipes and gravelly drainage layers) and is, then, transferred to the leaching plant for copper extraction where the copper is extracted and the remaining solution...
متن کاملEnhanced Bidirectional Selection Sort
An algorithm is a well-defined procedure that takes some input in the form of some values, processes them and gives the desired output. It forms the basis of many other algorithms such as searching, pattern matching, digital filters etc., and other applications have been found in database systems, data statistics and processing, data communications and pattern matching. This paper introduces al...
متن کاملAutomatic Verification of Dynamic Data-Dependent Programs
We present a new approach for automatic verification of data-dependent programs manipulating dynamic heaps. A heap is encoded by a graph where the nodes represent the cells, and the edges reflect the pointer structure between the cells of the heap. Each cell contains a set of variables which range over the natural numbers. Our method relies on standard backward reachability analysis, where the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Archive of Formal Proofs
دوره 2014 شماره
صفحات -
تاریخ انتشار 2014